// samsting : this file is auto create.

#ifndef ALIYUN_Ram_ListEntitiesForPolicyResponse_H_
#define ALIYUN_Ram_ListEntitiesForPolicyResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ram {

class ListEntitiesForPolicyResponse : public AcsResponse {
public:
  ListEntitiesForPolicyResponse();

  class Group {
    friend class ListEntitiesForPolicyResponse;
  public:
    const string& GetGroupName(void) const;
    const string& GetComments(void) const;
    const string& GetAttachDate(void) const;
  private:
    string GroupName_;
    string Comments_;
    string AttachDate_;
  }; // Group 


  class User {
    friend class ListEntitiesForPolicyResponse;
  public:
    const string& GetUserId(void) const;
    const string& GetUserName(void) const;
    const string& GetDisplayName(void) const;
    const string& GetAttachDate(void) const;
  private:
    string UserId_;
    string UserName_;
    string DisplayName_;
    string AttachDate_;
  }; // User 


  class Role {
    friend class ListEntitiesForPolicyResponse;
  public:
    const string& GetRoleId(void) const;
    const string& GetRoleName(void) const;
    const string& GetArn(void) const;
    const string& GetDescription(void) const;
    const string& GetAttachDate(void) const;
  private:
    string RoleId_;
    string RoleName_;
    string Arn_;
    string Description_;
    string AttachDate_;
  }; // Role 

  const std::vector<Group>& GetGroups(void) const;
  const std::vector<User>& GetUsers(void) const;
  const std::vector<Role>& GetRoles(void) const;

private:
  std::vector<Group> Groups_;
  std::vector<User> Users_;
  std::vector<Role> Roles_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ram {

#endif // #ifndef ALIYUN_Ram_ListEntitiesForPolicyResponse_H_

// end of file 
